<h1 align="center"> ZveropoliceTG-BOT-Team_Ward_N6 </h2>
<h2 align="center"> Учебный проект</h2>
<h3 align="center"> группа SkyPro JAVA-14</h3>
<h3 align="center"> Командная работа </h3>
<br /> Курс 4
<br /> 2023 г.
<br /> Разработал: команда ПАЛАТА № 6 

*****************************
**Пациенты палаты № 6:**

+ Ахмедов Тимур, github: [Timur Ahmedov](https://github.com/Rumonz1) (Rumonz1);
+ Корниенко Алексей, github: [Alkor](https://github.com/alkor63) (alkor63);
+ Насибуллин Роман, github: [Roman-1901](https://github.com/Roman-1901);
+ Попова Елизавета, github: [elizaveta-popova](https://github.com/elizaveta-popova);
+ Руднева Анастасия, github: [RuAna](https://github.com/Stellareign) (Stellareign)
*****************************

<h1 align="center">Приложение для приюта животных, г. Астана</h1>

<br />
<br /> 

**Описание:** проект представляет собой SpringBoot-приложение, интегрированное с TelegramBot (ТБ).
Приложение позволяется пользователю Телеграма познакомиться через телеграм-бот с приютом для животных, 
узнать его расположение, правила посещения, получить контактную информацию, а так же, после посещения приюта,
посетитель может не сразу принять решение взять к себе какое-то животное, поэтому приложение позволяет пользователю
ТБ забронировать выбранное питомца.
<br />
<br /> **Функции:** В интерфейсе ТБ задействованы функциональные кнопки и применение команд. Подсказки по применению команд 
изложены в сообщениях бота, которые отсылаются пользователю при переходе к следующему шагу.
<br />
<br /> **Технологии:** проект разработан в сборщике проектов Maven с применением фреймворка SpringBoot, в приложении 
используется реляционная база данных (БД) PostgreSQL и библиотека Liquibase для взаимодействия с БД, для работы 
с интерфейсом REST API применён фреймворк SwaggerUI, так же применена библиотека Pengrad Java Telegram bot API 
для взаимодействия с ТБ.
<br />
<br /> **Язык программирования:** проект разработан с использованием языка программирования JAVA.

*****************************

<h3 align="center">Основные задачи, выполненные участниками команды:</h3>

 **Ахмедов Тимур:** работа с классами Buttons и TelegramBotPetShelterUpdatesListener, реализация работы кнопок ТБ, 
оформление, привязка функционала приложения к кнопкам.
<br />
<br /> **Корниенко Алексей:** реализация функционала классов VolunteerService, PetsOwnerService, OwnerReportService, 
OwnerReportController: CRUD-методы сущности при работе через SwaggerUI, InfoController, OwnerTrialPeriodTimer, 
тестирование указанных классов и уорректировака тестов по OwnerController.
<br />
<br /> **Насибуллин Роман:** создание первоначальных таблиц БД Cats и Dogs, реализация функционала классов CatService, 
DogService, PetController, доработка под текущие условия сущностей-наследников класса Pet и CRUD-методов при работе 
через SwaggerUI, тестирование CatService, DogService.
<br />
<br /> **Попова Елизавета:** реализация функционала классов OwnerService, OwnerController: CRUD-методы сущности 
Owner через SwaggerUI, тестирование указанных классов, формирование наполнения пакета shelters;
<br />
<br /> **Руднева Анастасия:** создание первоначального скелета приложения и начальных таблиц БД, работа c классами 
пакета listener в части реализации функционала взаимодействия ТБ и БД через команды: создание функционала по 
формированию и сохранению в БД отчётов, данных пользователя и бронирования питомцев из ТБ, тестирование, сведение в 
общую ветку всех рабочих веток, проверка и рефакторинг приложения под текущие условия.
<br />
<br /> **Итог командной работы:** Создание работоспособного приложения путём выполнения поставленных задач, корректировок, 
совместного поиска оптимального решения возникающих в процессе разработки вопросов путём обсуждений.
